Summaries for While Programs with Recursion

نویسندگان

  • Andreas Podelski
  • Ina Schaefer
  • Silke Wagner
چکیده

Procedure summaries are an approximation of the effect of a procedure call. They have been used to prove partial correctness and safety properties. In this paper, we introduce a generalized notion of procedure summaries and present a framework to verify total correctness and liveness properties of a general class of while programs with recursion. We provide a fixpoint system for computing summaries, and a proof rule for total correctness of a program given a summary. With suitable abstraction methods and algorithms for efficient summary computation, the results presented here can be used for the automatic verification of termination and liveness properties for while programs with recursion.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Verifying Recursive Programs Using Intraprocedural Analyzers

Recursion can complicate program analysis significantly. Some program analyzers simply ignore recursion or even refuse to check recursive programs. In this paper, we propose an algorithm that uses a recursion-free program analyzer as a black box to check recursive programs. With extended program constructs for assumptions, assertions, and nondeterministic values, our algorithm computes function...

متن کامل

Summary-Based Inter-Procedural Analysis via Modular Trace Refinement

We propose a generalisation of trace refinement for the verification of inter-procedural programs. Our method is a top-down modular, summary-based approach, and analyses inter-procedural programs by building function summaries on-demand and improving the summaries each time a function is analysed. Our method is sound, and complete relative to the existence of a modular Hoare proof for a non-rec...

متن کامل

Property Directed Reachability for Proving Absence of Concurrent Modification Errors

We define and implement an interprocedural analysis for automatically checking safety of recursive programs with an unbounded state space. The main idea is to infer modular universally quantified inductive invariants in the form of procedure summaries that are sufficient to prove the safety property. We assume that the effect of the atomic commands of the program can be modeled via effectively ...

متن کامل

Liveness Verification and Synthesis: New Algorithms for Recursive Programs

We consider the problems of liveness verification and liveness synthesis for recursive programs. The liveness verification problem (LVP) is to decide whether a given ω-context-free language is contained in a given ω-regular language. The liveness synthesis problem (LSP) is to compute a strategy so that a given ω-context-free game, when played along the strategy, is guaranteed to derive a word i...

متن کامل

Ibm Research Report Courteous Logic Programs: Prioritized Connict Handling for Rules

We de ne courteous logic programs, an expressive superclass of general logic programs, for the acyclic case. Courteous LP's feature not only classical negation as in extended LP's (Gelfond & Lifschitz), but also prioritized conict handling. We show courteous LP's always have a consistent and unique answer set, which can be computed in O(m2) time, where m is the size of the ground-instantiated p...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005